import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.preprocessing import MinMaxScaler
import warnings
import tensorflow as tf
from tensorflow import keras
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, classification_report
df = pd.read_csv('Detect-Unbalance-Without-Noise.csv')
print(f'Number of Samples: {df.shape[0]}\nNumber of Features: {df.shape[1]}')
Number of Samples: 2500 Number of Features: 7
plt.figure(figsize=(25,6))
a1 = plt.subplot2grid((1,3),(0,0))
a1.scatter(df['Ia'], df['Va'])
a1.set_title('Line a')
a1.set_xlabel('Ia')
a1.set_ylabel('Va')
a2 = plt.subplot2grid((1,3),(0,1))
a2.scatter(df['Ib'], df['Vb'])
a2.set_title('Line b')
a2.set_xlabel('Ib')
a2.set_ylabel('Vb')
a3 = plt.subplot2grid((1,3),(0,2))
a3.scatter(df['Ic'], df['Vc'])
a3.set_title('Line c')
a3.set_xlabel('Ic')
a3.set_ylabel('Vc')
plt.show()
X = df.drop(['OUTPUT'],axis=1)
X
| Va | Vb | Vc | Ia | Ib | Ic | |
|---|---|---|---|---|---|---|
| 0 | -21205.705620 | -97807.42620 | 119013.13180 | 108.638445 | -116.454913 | 7.816468 |
| 1 | -16472.554310 | -100789.15120 | 117261.70550 | 111.265350 | -114.178631 | 2.913281 |
| 2 | -14096.779050 | -102226.56960 | 116323.34870 | 112.519744 | -112.979437 | 0.459693 |
| 3 | -9331.043708 | -104991.95690 | 114323.00070 | 114.908185 | -110.461071 | -4.447114 |
| 4 | -4552.041678 | -107608.15890 | 112160.20060 | 117.133359 | -107.785739 | -9.347620 |
| ... | ... | ... | ... | ... | ... | ... |
| 2495 | -33304.524750 | -16697.46961 | 50001.99435 | 315.337841 | 188.872975 | -504.210816 |
| 2496 | -33415.173960 | -22614.18741 | 56029.36137 | 308.034968 | 199.516902 | -507.551871 |
| 2497 | -32832.905920 | -32075.57148 | 64908.47740 | 293.178906 | 221.924763 | -515.103669 |
| 2498 | -30817.219980 | -35109.60271 | 65926.82269 | 277.786060 | 244.861817 | -522.647876 |
| 2499 | -29231.772540 | -33295.53848 | 62527.31102 | 269.801438 | 256.010531 | -525.811969 |
2500 rows × 6 columns
y = df['OUTPUT']
y
0 0
1 0
2 0
3 0
4 0
..
2495 1
2496 1
2497 1
2498 1
2499 1
Name: OUTPUT, Length: 2500, dtype: int64
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20, random_state = 0)
t = MinMaxScaler()
t.fit(X_train)
X_train_scaled = t.transform(X_train)
X_test_scaled = t.transform(X_test)
X_scaled = t.transform(X)
X_test
| Va | Vb | Vc | Ia | Ib | Ic | |
|---|---|---|---|---|---|---|
| 53 | 126563.461000 | -72053.547020 | -54509.914010 | 61.930628 | 68.217531 | -130.148159 |
| 2391 | 29569.010970 | -16850.299680 | -12718.711280 | 42.642254 | -335.170377 | 292.528123 |
| 2310 | -31578.617740 | 38322.115420 | -6743.497677 | 255.133407 | 199.853325 | -454.986732 |
| 728 | 47854.432160 | 3482.315994 | -99172.094550 | 560.230012 | 96.322747 | -128.640015 |
| 850 | -21282.758350 | -81051.954400 | 123058.488800 | -171.617700 | -115.353421 | 45.994303 |
| ... | ... | ... | ... | ... | ... | ... |
| 1810 | 14805.131180 | 103581.706500 | -88618.487780 | 757.192871 | -427.987852 | -13.488563 |
| 2330 | -9866.544493 | 75746.875860 | -65880.331360 | -20.812300 | 257.519100 | -236.706801 |
| 684 | 19538.207720 | -135405.261100 | 35548.671500 | 206.257968 | -32.350628 | -91.311973 |
| 1674 | 45796.707170 | 50791.048130 | -96599.995510 | 492.050979 | -374.654308 | -117.353092 |
| 2075 | -21074.155130 | -11226.107170 | 100167.887200 | -199.055877 | 297.173366 | 120.092759 |
500 rows × 6 columns
y_test
53 0
2391 1
2310 1
728 1
850 1
..
1810 1
2330 1
684 1
1674 1
2075 1
Name: OUTPUT, Length: 500, dtype: int64
model = keras.models.Sequential()
model.add(keras.layers.Dense(12,
input_shape=(6,),
name='Input_layer',
activation='relu'))
model.add(keras.layers.Dense(12,
name='Hidden_layer1',
activation='relu'))
model.add(keras.layers.Dense(1,
name='output_layer',
activation='sigmoid'))
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
model_history = model.fit(X_train, y_train, epochs=250, batch_size=64, validation_split=0.2)
Epoch 1/250 25/25 [==============================] - 11s 168ms/step - loss: 1178.8420 - accuracy: 0.6056 - val_loss: 625.6847 - val_accuracy: 0.6525 Epoch 2/250 25/25 [==============================] - 0s 7ms/step - loss: 435.3763 - accuracy: 0.6406 - val_loss: 283.4364 - val_accuracy: 0.6950 Epoch 3/250 25/25 [==============================] - 0s 7ms/step - loss: 235.7774 - accuracy: 0.6881 - val_loss: 168.8295 - val_accuracy: 0.7250 Epoch 4/250 25/25 [==============================] - 0s 6ms/step - loss: 142.6239 - accuracy: 0.7144 - val_loss: 104.0316 - val_accuracy: 0.7075 Epoch 5/250 25/25 [==============================] - 0s 8ms/step - loss: 88.3551 - accuracy: 0.7344 - val_loss: 65.3130 - val_accuracy: 0.7200 Epoch 6/250 25/25 [==============================] - 0s 5ms/step - loss: 62.8579 - accuracy: 0.7306 - val_loss: 47.7785 - val_accuracy: 0.7275 Epoch 7/250 25/25 [==============================] - 0s 6ms/step - loss: 51.0990 - accuracy: 0.7387 - val_loss: 33.6837 - val_accuracy: 0.6950 Epoch 8/250 25/25 [==============================] - 0s 9ms/step - loss: 36.9879 - accuracy: 0.7544 - val_loss: 29.6591 - val_accuracy: 0.7025 Epoch 9/250 25/25 [==============================] - 0s 7ms/step - loss: 33.0355 - accuracy: 0.7588 - val_loss: 23.7954 - val_accuracy: 0.7625 Epoch 10/250 25/25 [==============================] - 0s 8ms/step - loss: 30.0727 - accuracy: 0.7675 - val_loss: 17.8575 - val_accuracy: 0.8175 Epoch 11/250 25/25 [==============================] - 0s 5ms/step - loss: 23.8098 - accuracy: 0.7763 - val_loss: 12.4309 - val_accuracy: 0.7975 Epoch 12/250 25/25 [==============================] - 0s 5ms/step - loss: 19.0356 - accuracy: 0.7763 - val_loss: 10.1211 - val_accuracy: 0.8025 Epoch 13/250 25/25 [==============================] - 0s 4ms/step - loss: 16.2013 - accuracy: 0.7906 - val_loss: 11.1730 - val_accuracy: 0.7725 Epoch 14/250 25/25 [==============================] - 0s 5ms/step - loss: 14.7468 - accuracy: 0.7850 - val_loss: 7.9205 - val_accuracy: 0.7850 Epoch 15/250 25/25 [==============================] - 0s 5ms/step - loss: 11.1400 - accuracy: 0.8206 - val_loss: 9.3336 - val_accuracy: 0.7750 Epoch 16/250 25/25 [==============================] - 0s 6ms/step - loss: 16.4958 - accuracy: 0.7931 - val_loss: 10.5856 - val_accuracy: 0.7850 Epoch 17/250 25/25 [==============================] - 0s 5ms/step - loss: 10.3925 - accuracy: 0.8200 - val_loss: 6.1709 - val_accuracy: 0.8125 Epoch 18/250 25/25 [==============================] - 0s 5ms/step - loss: 8.1874 - accuracy: 0.8244 - val_loss: 4.8166 - val_accuracy: 0.8450 Epoch 19/250 25/25 [==============================] - 0s 5ms/step - loss: 8.6808 - accuracy: 0.8350 - val_loss: 4.4030 - val_accuracy: 0.8225 Epoch 20/250 25/25 [==============================] - 0s 11ms/step - loss: 8.4695 - accuracy: 0.8269 - val_loss: 13.6124 - val_accuracy: 0.8150 Epoch 21/250 25/25 [==============================] - 0s 6ms/step - loss: 7.7628 - accuracy: 0.8294 - val_loss: 3.2906 - val_accuracy: 0.8750 Epoch 22/250 25/25 [==============================] - 0s 6ms/step - loss: 5.5770 - accuracy: 0.8631 - val_loss: 3.3811 - val_accuracy: 0.8475 Epoch 23/250 25/25 [==============================] - 0s 6ms/step - loss: 8.2894 - accuracy: 0.8331 - val_loss: 6.4060 - val_accuracy: 0.8000 Epoch 24/250 25/25 [==============================] - 0s 6ms/step - loss: 6.8804 - accuracy: 0.8581 - val_loss: 5.4202 - val_accuracy: 0.8775 Epoch 25/250 25/25 [==============================] - 0s 6ms/step - loss: 6.0277 - accuracy: 0.8462 - val_loss: 7.2093 - val_accuracy: 0.7825 Epoch 26/250 25/25 [==============================] - 0s 5ms/step - loss: 5.3870 - accuracy: 0.8594 - val_loss: 4.3858 - val_accuracy: 0.8400 Epoch 27/250 25/25 [==============================] - 0s 5ms/step - loss: 4.6441 - accuracy: 0.8600 - val_loss: 3.3207 - val_accuracy: 0.8850 Epoch 28/250 25/25 [==============================] - 0s 6ms/step - loss: 5.0687 - accuracy: 0.8487 - val_loss: 8.4019 - val_accuracy: 0.8275 Epoch 29/250 25/25 [==============================] - 0s 6ms/step - loss: 6.8837 - accuracy: 0.8469 - val_loss: 4.2638 - val_accuracy: 0.8900 Epoch 30/250 25/25 [==============================] - 0s 6ms/step - loss: 5.0746 - accuracy: 0.8656 - val_loss: 3.4310 - val_accuracy: 0.8775 Epoch 31/250 25/25 [==============================] - 0s 6ms/step - loss: 3.4890 - accuracy: 0.8719 - val_loss: 3.0483 - val_accuracy: 0.8975 Epoch 32/250 25/25 [==============================] - 0s 6ms/step - loss: 4.1777 - accuracy: 0.8562 - val_loss: 3.1552 - val_accuracy: 0.8675 Epoch 33/250 25/25 [==============================] - 0s 6ms/step - loss: 5.2534 - accuracy: 0.8681 - val_loss: 12.7253 - val_accuracy: 0.8650 Epoch 34/250 25/25 [==============================] - 0s 5ms/step - loss: 7.0622 - accuracy: 0.8694 - val_loss: 4.0039 - val_accuracy: 0.9025 Epoch 35/250 25/25 [==============================] - 0s 5ms/step - loss: 3.1578 - accuracy: 0.8894 - val_loss: 2.4288 - val_accuracy: 0.8750 Epoch 36/250 25/25 [==============================] - 0s 5ms/step - loss: 2.7424 - accuracy: 0.8800 - val_loss: 1.5853 - val_accuracy: 0.8800 Epoch 37/250 25/25 [==============================] - 0s 7ms/step - loss: 2.7025 - accuracy: 0.8881 - val_loss: 4.5643 - val_accuracy: 0.8900 Epoch 38/250 25/25 [==============================] - 0s 6ms/step - loss: 7.8545 - accuracy: 0.8631 - val_loss: 6.4361 - val_accuracy: 0.8775 Epoch 39/250 25/25 [==============================] - 0s 5ms/step - loss: 9.1623 - accuracy: 0.8675 - val_loss: 4.1271 - val_accuracy: 0.8525 Epoch 40/250 25/25 [==============================] - 0s 5ms/step - loss: 2.8502 - accuracy: 0.8931 - val_loss: 2.2125 - val_accuracy: 0.8800 Epoch 41/250 25/25 [==============================] - 0s 5ms/step - loss: 2.5948 - accuracy: 0.8906 - val_loss: 2.9561 - val_accuracy: 0.8900 Epoch 42/250 25/25 [==============================] - 0s 6ms/step - loss: 3.1925 - accuracy: 0.8888 - val_loss: 3.0068 - val_accuracy: 0.8900 Epoch 43/250 25/25 [==============================] - 0s 7ms/step - loss: 2.0735 - accuracy: 0.8950 - val_loss: 1.8787 - val_accuracy: 0.8850 Epoch 44/250 25/25 [==============================] - 0s 5ms/step - loss: 4.4480 - accuracy: 0.8788 - val_loss: 3.8999 - val_accuracy: 0.8975 Epoch 45/250 25/25 [==============================] - 0s 5ms/step - loss: 6.7501 - accuracy: 0.8788 - val_loss: 5.1388 - val_accuracy: 0.8950 Epoch 46/250 25/25 [==============================] - 0s 5ms/step - loss: 6.4095 - accuracy: 0.8719 - val_loss: 4.1990 - val_accuracy: 0.8525 Epoch 47/250 25/25 [==============================] - 0s 6ms/step - loss: 8.3417 - accuracy: 0.8494 - val_loss: 3.6895 - val_accuracy: 0.8350 Epoch 48/250 25/25 [==============================] - 0s 6ms/step - loss: 4.4638 - accuracy: 0.8700 - val_loss: 4.2518 - val_accuracy: 0.8950 Epoch 49/250 25/25 [==============================] - 0s 5ms/step - loss: 2.7513 - accuracy: 0.8931 - val_loss: 3.0178 - val_accuracy: 0.8900 Epoch 50/250 25/25 [==============================] - 0s 5ms/step - loss: 4.0195 - accuracy: 0.8938 - val_loss: 2.1662 - val_accuracy: 0.8675 Epoch 51/250 25/25 [==============================] - 0s 7ms/step - loss: 3.2135 - accuracy: 0.8838 - val_loss: 3.0708 - val_accuracy: 0.9050 Epoch 52/250 25/25 [==============================] - 0s 6ms/step - loss: 2.4374 - accuracy: 0.9075 - val_loss: 1.6166 - val_accuracy: 0.8950 Epoch 53/250 25/25 [==============================] - 0s 5ms/step - loss: 4.5665 - accuracy: 0.8988 - val_loss: 4.4449 - val_accuracy: 0.8525 Epoch 54/250 25/25 [==============================] - 0s 6ms/step - loss: 5.3696 - accuracy: 0.8788 - val_loss: 3.3227 - val_accuracy: 0.8850 Epoch 55/250 25/25 [==============================] - 0s 5ms/step - loss: 2.6022 - accuracy: 0.8850 - val_loss: 3.7540 - val_accuracy: 0.9000 Epoch 56/250 25/25 [==============================] - 0s 5ms/step - loss: 3.3411 - accuracy: 0.8994 - val_loss: 1.7086 - val_accuracy: 0.9075 Epoch 57/250 25/25 [==============================] - 0s 5ms/step - loss: 3.1859 - accuracy: 0.8981 - val_loss: 4.0364 - val_accuracy: 0.8975 Epoch 58/250 25/25 [==============================] - 0s 7ms/step - loss: 4.2372 - accuracy: 0.8694 - val_loss: 2.9346 - val_accuracy: 0.9025 Epoch 59/250 25/25 [==============================] - 0s 5ms/step - loss: 3.0400 - accuracy: 0.8919 - val_loss: 3.8558 - val_accuracy: 0.8625 Epoch 60/250 25/25 [==============================] - 0s 6ms/step - loss: 2.7543 - accuracy: 0.8994 - val_loss: 4.3790 - val_accuracy: 0.9000 Epoch 61/250 25/25 [==============================] - 0s 6ms/step - loss: 3.2054 - accuracy: 0.8838 - val_loss: 3.4277 - val_accuracy: 0.9100 Epoch 62/250 25/25 [==============================] - 0s 6ms/step - loss: 3.2330 - accuracy: 0.8900 - val_loss: 1.3804 - val_accuracy: 0.9075 Epoch 63/250 25/25 [==============================] - 0s 7ms/step - loss: 1.9573 - accuracy: 0.9044 - val_loss: 1.6453 - val_accuracy: 0.9125 Epoch 64/250 25/25 [==============================] - 0s 6ms/step - loss: 2.2583 - accuracy: 0.9044 - val_loss: 1.5481 - val_accuracy: 0.8900 Epoch 65/250 25/25 [==============================] - 0s 5ms/step - loss: 4.3273 - accuracy: 0.8913 - val_loss: 3.7339 - val_accuracy: 0.9025 Epoch 66/250 25/25 [==============================] - 0s 5ms/step - loss: 2.2278 - accuracy: 0.8975 - val_loss: 1.1722 - val_accuracy: 0.8700 Epoch 67/250 25/25 [==============================] - 0s 5ms/step - loss: 2.2293 - accuracy: 0.9000 - val_loss: 3.5954 - val_accuracy: 0.9075 Epoch 68/250 25/25 [==============================] - 0s 6ms/step - loss: 3.6334 - accuracy: 0.8969 - val_loss: 1.4560 - val_accuracy: 0.9125 Epoch 69/250 25/25 [==============================] - 0s 8ms/step - loss: 1.9038 - accuracy: 0.9100 - val_loss: 1.4926 - val_accuracy: 0.8825 Epoch 70/250 25/25 [==============================] - 0s 7ms/step - loss: 1.2946 - accuracy: 0.9194 - val_loss: 2.1489 - val_accuracy: 0.8925 Epoch 71/250 25/25 [==============================] - 0s 7ms/step - loss: 2.7728 - accuracy: 0.8913 - val_loss: 1.5115 - val_accuracy: 0.8875 Epoch 72/250 25/25 [==============================] - 0s 6ms/step - loss: 1.5513 - accuracy: 0.9006 - val_loss: 1.7901 - val_accuracy: 0.9050 Epoch 73/250 25/25 [==============================] - 0s 7ms/step - loss: 2.3445 - accuracy: 0.9094 - val_loss: 1.6248 - val_accuracy: 0.8600 Epoch 74/250 25/25 [==============================] - 0s 6ms/step - loss: 1.7221 - accuracy: 0.9031 - val_loss: 1.7154 - val_accuracy: 0.8925 Epoch 75/250 25/25 [==============================] - 0s 9ms/step - loss: 1.5482 - accuracy: 0.9175 - val_loss: 2.1169 - val_accuracy: 0.8825 Epoch 76/250 25/25 [==============================] - 0s 7ms/step - loss: 2.0341 - accuracy: 0.9125 - val_loss: 1.5336 - val_accuracy: 0.8875 Epoch 77/250 25/25 [==============================] - 0s 6ms/step - loss: 1.8035 - accuracy: 0.9019 - val_loss: 1.3143 - val_accuracy: 0.9100 Epoch 78/250 25/25 [==============================] - 0s 6ms/step - loss: 1.5913 - accuracy: 0.9150 - val_loss: 2.2804 - val_accuracy: 0.9075 Epoch 79/250 25/25 [==============================] - 0s 5ms/step - loss: 1.4320 - accuracy: 0.9081 - val_loss: 1.1375 - val_accuracy: 0.9150 Epoch 80/250 25/25 [==============================] - 0s 6ms/step - loss: 2.9137 - accuracy: 0.8931 - val_loss: 2.9163 - val_accuracy: 0.8700 Epoch 81/250 25/25 [==============================] - 0s 5ms/step - loss: 4.3462 - accuracy: 0.8919 - val_loss: 2.9962 - val_accuracy: 0.9025 Epoch 82/250 25/25 [==============================] - 0s 6ms/step - loss: 4.6416 - accuracy: 0.8581 - val_loss: 4.5226 - val_accuracy: 0.8800 Epoch 83/250 25/25 [==============================] - 0s 5ms/step - loss: 4.2420 - accuracy: 0.8894 - val_loss: 2.2943 - val_accuracy: 0.9100 Epoch 84/250 25/25 [==============================] - 0s 5ms/step - loss: 1.9371 - accuracy: 0.9031 - val_loss: 1.8814 - val_accuracy: 0.9175 Epoch 85/250 25/25 [==============================] - 0s 5ms/step - loss: 3.8425 - accuracy: 0.8781 - val_loss: 1.2093 - val_accuracy: 0.9050 Epoch 86/250 25/25 [==============================] - 0s 5ms/step - loss: 2.5210 - accuracy: 0.8981 - val_loss: 3.5373 - val_accuracy: 0.8450 Epoch 87/250 25/25 [==============================] - 0s 5ms/step - loss: 3.4454 - accuracy: 0.8913 - val_loss: 2.5782 - val_accuracy: 0.8725 Epoch 88/250 25/25 [==============================] - 0s 5ms/step - loss: 3.3831 - accuracy: 0.8894 - val_loss: 2.3645 - val_accuracy: 0.8900 Epoch 89/250 25/25 [==============================] - 0s 6ms/step - loss: 2.0440 - accuracy: 0.9025 - val_loss: 1.7385 - val_accuracy: 0.8825 Epoch 90/250 25/25 [==============================] - 0s 6ms/step - loss: 1.9865 - accuracy: 0.9050 - val_loss: 1.3441 - val_accuracy: 0.8875 Epoch 91/250 25/25 [==============================] - 0s 6ms/step - loss: 2.3242 - accuracy: 0.8969 - val_loss: 1.9035 - val_accuracy: 0.8800 Epoch 92/250 25/25 [==============================] - 0s 6ms/step - loss: 3.2941 - accuracy: 0.8931 - val_loss: 1.9108 - val_accuracy: 0.8900 Epoch 93/250 25/25 [==============================] - 0s 6ms/step - loss: 3.1654 - accuracy: 0.8794 - val_loss: 2.3054 - val_accuracy: 0.8875 Epoch 94/250 25/25 [==============================] - 0s 6ms/step - loss: 2.4900 - accuracy: 0.8975 - val_loss: 4.9347 - val_accuracy: 0.9000 Epoch 95/250 25/25 [==============================] - 0s 6ms/step - loss: 4.8231 - accuracy: 0.8794 - val_loss: 3.0930 - val_accuracy: 0.8825 Epoch 96/250 25/25 [==============================] - 0s 5ms/step - loss: 2.5287 - accuracy: 0.9050 - val_loss: 3.6398 - val_accuracy: 0.9025 Epoch 97/250 25/25 [==============================] - 0s 5ms/step - loss: 3.1602 - accuracy: 0.9050 - val_loss: 4.2666 - val_accuracy: 0.8325 Epoch 98/250 25/25 [==============================] - 0s 5ms/step - loss: 3.6302 - accuracy: 0.8919 - val_loss: 2.5772 - val_accuracy: 0.8525 Epoch 99/250 25/25 [==============================] - 0s 6ms/step - loss: 1.8538 - accuracy: 0.9013 - val_loss: 1.2357 - val_accuracy: 0.9200 Epoch 100/250 25/25 [==============================] - 0s 6ms/step - loss: 1.3541 - accuracy: 0.9194 - val_loss: 4.1922 - val_accuracy: 0.8925 Epoch 101/250 25/25 [==============================] - 0s 5ms/step - loss: 1.9022 - accuracy: 0.9156 - val_loss: 0.6673 - val_accuracy: 0.9050 Epoch 102/250 25/25 [==============================] - 0s 7ms/step - loss: 1.8901 - accuracy: 0.9112 - val_loss: 2.4242 - val_accuracy: 0.8925 Epoch 103/250 25/25 [==============================] - 0s 8ms/step - loss: 1.9182 - accuracy: 0.8944 - val_loss: 1.7425 - val_accuracy: 0.9150 Epoch 104/250 25/25 [==============================] - 0s 7ms/step - loss: 5.2879 - accuracy: 0.8863 - val_loss: 5.4774 - val_accuracy: 0.8550 Epoch 105/250 25/25 [==============================] - 0s 6ms/step - loss: 2.9744 - accuracy: 0.9137 - val_loss: 2.3382 - val_accuracy: 0.8850 Epoch 106/250 25/25 [==============================] - 0s 6ms/step - loss: 2.5454 - accuracy: 0.9000 - val_loss: 1.6694 - val_accuracy: 0.9050 Epoch 107/250 25/25 [==============================] - 0s 6ms/step - loss: 2.6817 - accuracy: 0.8856 - val_loss: 5.4275 - val_accuracy: 0.9000 Epoch 108/250 25/25 [==============================] - 0s 5ms/step - loss: 4.5118 - accuracy: 0.8950 - val_loss: 3.6942 - val_accuracy: 0.8675 Epoch 109/250 25/25 [==============================] - 0s 5ms/step - loss: 5.5380 - accuracy: 0.8913 - val_loss: 2.6601 - val_accuracy: 0.8525 Epoch 110/250 25/25 [==============================] - 0s 5ms/step - loss: 4.9703 - accuracy: 0.8819 - val_loss: 5.8088 - val_accuracy: 0.7950 Epoch 111/250 25/25 [==============================] - 0s 5ms/step - loss: 3.2390 - accuracy: 0.8881 - val_loss: 1.3573 - val_accuracy: 0.9225 Epoch 112/250 25/25 [==============================] - 0s 5ms/step - loss: 1.4305 - accuracy: 0.9137 - val_loss: 1.0228 - val_accuracy: 0.9225 Epoch 113/250 25/25 [==============================] - 0s 5ms/step - loss: 1.5254 - accuracy: 0.9081 - val_loss: 2.5624 - val_accuracy: 0.9100 Epoch 114/250 25/25 [==============================] - 0s 5ms/step - loss: 2.8149 - accuracy: 0.9006 - val_loss: 1.5812 - val_accuracy: 0.8800 Epoch 115/250 25/25 [==============================] - 0s 5ms/step - loss: 2.0849 - accuracy: 0.9081 - val_loss: 1.1953 - val_accuracy: 0.9325 Epoch 116/250 25/25 [==============================] - 0s 5ms/step - loss: 2.0202 - accuracy: 0.9050 - val_loss: 0.9967 - val_accuracy: 0.9275 Epoch 117/250 25/25 [==============================] - 0s 5ms/step - loss: 1.8951 - accuracy: 0.9137 - val_loss: 1.4223 - val_accuracy: 0.8675 Epoch 118/250 25/25 [==============================] - 0s 5ms/step - loss: 1.9851 - accuracy: 0.9069 - val_loss: 1.3426 - val_accuracy: 0.9050 Epoch 119/250 25/25 [==============================] - 0s 4ms/step - loss: 2.6873 - accuracy: 0.8988 - val_loss: 1.6661 - val_accuracy: 0.9150 Epoch 120/250 25/25 [==============================] - 0s 5ms/step - loss: 3.0090 - accuracy: 0.8988 - val_loss: 2.1412 - val_accuracy: 0.8750 Epoch 121/250 25/25 [==============================] - 0s 4ms/step - loss: 4.3346 - accuracy: 0.8681 - val_loss: 2.0977 - val_accuracy: 0.9150 Epoch 122/250 25/25 [==============================] - 0s 5ms/step - loss: 3.3729 - accuracy: 0.8894 - val_loss: 1.7480 - val_accuracy: 0.8875 Epoch 123/250 25/25 [==============================] - 0s 5ms/step - loss: 2.9140 - accuracy: 0.8969 - val_loss: 2.1178 - val_accuracy: 0.9100 Epoch 124/250 25/25 [==============================] - 0s 4ms/step - loss: 2.3356 - accuracy: 0.9137 - val_loss: 3.1827 - val_accuracy: 0.9100 Epoch 125/250 25/25 [==============================] - 0s 5ms/step - loss: 1.5867 - accuracy: 0.9181 - val_loss: 2.1466 - val_accuracy: 0.8450 Epoch 126/250 25/25 [==============================] - 0s 5ms/step - loss: 2.4247 - accuracy: 0.8969 - val_loss: 2.1390 - val_accuracy: 0.9175 Epoch 127/250 25/25 [==============================] - 0s 5ms/step - loss: 1.8922 - accuracy: 0.9019 - val_loss: 1.5475 - val_accuracy: 0.9050 Epoch 128/250 25/25 [==============================] - 0s 5ms/step - loss: 1.6988 - accuracy: 0.9181 - val_loss: 0.7637 - val_accuracy: 0.9375 Epoch 129/250 25/25 [==============================] - 0s 4ms/step - loss: 1.5914 - accuracy: 0.9050 - val_loss: 3.8422 - val_accuracy: 0.8725 Epoch 130/250 25/25 [==============================] - 0s 8ms/step - loss: 1.4291 - accuracy: 0.9137 - val_loss: 0.9541 - val_accuracy: 0.9225 Epoch 131/250 25/25 [==============================] - 0s 7ms/step - loss: 2.7472 - accuracy: 0.8906 - val_loss: 3.0717 - val_accuracy: 0.8975 Epoch 132/250 25/25 [==============================] - 0s 5ms/step - loss: 2.8766 - accuracy: 0.9031 - val_loss: 1.7723 - val_accuracy: 0.8875 Epoch 133/250 25/25 [==============================] - 0s 6ms/step - loss: 4.0332 - accuracy: 0.8806 - val_loss: 3.2447 - val_accuracy: 0.8800 Epoch 134/250 25/25 [==============================] - 0s 5ms/step - loss: 2.8504 - accuracy: 0.8931 - val_loss: 2.3163 - val_accuracy: 0.9050 Epoch 135/250 25/25 [==============================] - 0s 5ms/step - loss: 3.9549 - accuracy: 0.8831 - val_loss: 3.2651 - val_accuracy: 0.8900 Epoch 136/250 25/25 [==============================] - 0s 5ms/step - loss: 2.4283 - accuracy: 0.9137 - val_loss: 3.0664 - val_accuracy: 0.9000 Epoch 137/250 25/25 [==============================] - 0s 5ms/step - loss: 3.5515 - accuracy: 0.8844 - val_loss: 1.5211 - val_accuracy: 0.8700 Epoch 138/250 25/25 [==============================] - 0s 6ms/step - loss: 1.9006 - accuracy: 0.9038 - val_loss: 1.7207 - val_accuracy: 0.8975 Epoch 139/250 25/25 [==============================] - 0s 4ms/step - loss: 2.0605 - accuracy: 0.9087 - val_loss: 6.1797 - val_accuracy: 0.8900 Epoch 140/250 25/25 [==============================] - 0s 5ms/step - loss: 4.7457 - accuracy: 0.9000 - val_loss: 4.5202 - val_accuracy: 0.8875 Epoch 141/250 25/25 [==============================] - 0s 4ms/step - loss: 4.7335 - accuracy: 0.8894 - val_loss: 3.1479 - val_accuracy: 0.9075 Epoch 142/250 25/25 [==============================] - 0s 5ms/step - loss: 3.4622 - accuracy: 0.8981 - val_loss: 3.6264 - val_accuracy: 0.8450 Epoch 143/250 25/25 [==============================] - 0s 5ms/step - loss: 2.9367 - accuracy: 0.9038 - val_loss: 1.3614 - val_accuracy: 0.9150 Epoch 144/250 25/25 [==============================] - 0s 4ms/step - loss: 1.2844 - accuracy: 0.9300 - val_loss: 1.1037 - val_accuracy: 0.9150 Epoch 145/250 25/25 [==============================] - 0s 5ms/step - loss: 1.4357 - accuracy: 0.9150 - val_loss: 4.3243 - val_accuracy: 0.8925 Epoch 146/250 25/25 [==============================] - 0s 5ms/step - loss: 2.1965 - accuracy: 0.9044 - val_loss: 0.9534 - val_accuracy: 0.9075 Epoch 147/250 25/25 [==============================] - 0s 5ms/step - loss: 1.1720 - accuracy: 0.9231 - val_loss: 1.7049 - val_accuracy: 0.9000 Epoch 148/250 25/25 [==============================] - 0s 5ms/step - loss: 1.7488 - accuracy: 0.9087 - val_loss: 1.0093 - val_accuracy: 0.9050 Epoch 149/250 25/25 [==============================] - 0s 5ms/step - loss: 1.7695 - accuracy: 0.9175 - val_loss: 1.3500 - val_accuracy: 0.9100 Epoch 150/250 25/25 [==============================] - 0s 5ms/step - loss: 1.2771 - accuracy: 0.9269 - val_loss: 1.5912 - val_accuracy: 0.8950 Epoch 151/250 25/25 [==============================] - 0s 5ms/step - loss: 1.3950 - accuracy: 0.9275 - val_loss: 0.9731 - val_accuracy: 0.9175 Epoch 152/250 25/25 [==============================] - 0s 5ms/step - loss: 2.5634 - accuracy: 0.9106 - val_loss: 2.4781 - val_accuracy: 0.9300 Epoch 153/250 25/25 [==============================] - 0s 4ms/step - loss: 3.9846 - accuracy: 0.8919 - val_loss: 2.4523 - val_accuracy: 0.9150 Epoch 154/250 25/25 [==============================] - 0s 6ms/step - loss: 2.4231 - accuracy: 0.9075 - val_loss: 2.7187 - val_accuracy: 0.8700 Epoch 155/250 25/25 [==============================] - 0s 6ms/step - loss: 2.4515 - accuracy: 0.9106 - val_loss: 7.0067 - val_accuracy: 0.8000 Epoch 156/250 25/25 [==============================] - 0s 5ms/step - loss: 3.3562 - accuracy: 0.8938 - val_loss: 2.1753 - val_accuracy: 0.9150 Epoch 157/250 25/25 [==============================] - 0s 5ms/step - loss: 2.4301 - accuracy: 0.9006 - val_loss: 2.8945 - val_accuracy: 0.9250 Epoch 158/250 25/25 [==============================] - 0s 5ms/step - loss: 2.4576 - accuracy: 0.9100 - val_loss: 0.9609 - val_accuracy: 0.9325 Epoch 159/250 25/25 [==============================] - 0s 5ms/step - loss: 1.9384 - accuracy: 0.9069 - val_loss: 8.5364 - val_accuracy: 0.8025 Epoch 160/250 25/25 [==============================] - 0s 5ms/step - loss: 4.2269 - accuracy: 0.8863 - val_loss: 1.8241 - val_accuracy: 0.8850 Epoch 161/250 25/25 [==============================] - 0s 5ms/step - loss: 3.6258 - accuracy: 0.8919 - val_loss: 4.4148 - val_accuracy: 0.8900 Epoch 162/250 25/25 [==============================] - 0s 5ms/step - loss: 3.1810 - accuracy: 0.8950 - val_loss: 1.6554 - val_accuracy: 0.9200 Epoch 163/250 25/25 [==============================] - 0s 5ms/step - loss: 3.1874 - accuracy: 0.8881 - val_loss: 1.6652 - val_accuracy: 0.8925 Epoch 164/250 25/25 [==============================] - 0s 6ms/step - loss: 2.4077 - accuracy: 0.9038 - val_loss: 1.3607 - val_accuracy: 0.9275 Epoch 165/250 25/25 [==============================] - 0s 5ms/step - loss: 1.9856 - accuracy: 0.9050 - val_loss: 7.2248 - val_accuracy: 0.8325 Epoch 166/250 25/25 [==============================] - 0s 5ms/step - loss: 1.8475 - accuracy: 0.9100 - val_loss: 1.5103 - val_accuracy: 0.9375 Epoch 167/250 25/25 [==============================] - 0s 5ms/step - loss: 1.6260 - accuracy: 0.9256 - val_loss: 3.0312 - val_accuracy: 0.9225 Epoch 168/250 25/25 [==============================] - 0s 5ms/step - loss: 2.5857 - accuracy: 0.9031 - val_loss: 1.8578 - val_accuracy: 0.9050 Epoch 169/250 25/25 [==============================] - 0s 6ms/step - loss: 3.3849 - accuracy: 0.8981 - val_loss: 1.7075 - val_accuracy: 0.8875 Epoch 170/250 25/25 [==============================] - 0s 6ms/step - loss: 2.6788 - accuracy: 0.8938 - val_loss: 1.2737 - val_accuracy: 0.9250 Epoch 171/250 25/25 [==============================] - 0s 5ms/step - loss: 2.6267 - accuracy: 0.9044 - val_loss: 1.7709 - val_accuracy: 0.9125 Epoch 172/250 25/25 [==============================] - 0s 5ms/step - loss: 1.3601 - accuracy: 0.9294 - val_loss: 1.9409 - val_accuracy: 0.9125 Epoch 173/250 25/25 [==============================] - 0s 7ms/step - loss: 1.9673 - accuracy: 0.9044 - val_loss: 0.8942 - val_accuracy: 0.9350 Epoch 174/250 25/25 [==============================] - 0s 6ms/step - loss: 2.2935 - accuracy: 0.9137 - val_loss: 1.3337 - val_accuracy: 0.9175 Epoch 175/250 25/25 [==============================] - 0s 5ms/step - loss: 2.4106 - accuracy: 0.8994 - val_loss: 1.3853 - val_accuracy: 0.9050 Epoch 176/250 25/25 [==============================] - 0s 6ms/step - loss: 1.9330 - accuracy: 0.9119 - val_loss: 0.8325 - val_accuracy: 0.9400 Epoch 177/250 25/25 [==============================] - 0s 5ms/step - loss: 1.0228 - accuracy: 0.9325 - val_loss: 1.0353 - val_accuracy: 0.9375 Epoch 178/250 25/25 [==============================] - 0s 5ms/step - loss: 0.8630 - accuracy: 0.9406 - val_loss: 1.6063 - val_accuracy: 0.9500 Epoch 179/250 25/25 [==============================] - 0s 5ms/step - loss: 2.2797 - accuracy: 0.9156 - val_loss: 1.3338 - val_accuracy: 0.9175 Epoch 180/250 25/25 [==============================] - 0s 7ms/step - loss: 2.5245 - accuracy: 0.8956 - val_loss: 1.2914 - val_accuracy: 0.8975 Epoch 181/250 25/25 [==============================] - 0s 6ms/step - loss: 2.1197 - accuracy: 0.9025 - val_loss: 0.8558 - val_accuracy: 0.9475 Epoch 182/250 25/25 [==============================] - 0s 6ms/step - loss: 1.1258 - accuracy: 0.9256 - val_loss: 0.7892 - val_accuracy: 0.9525 Epoch 183/250 25/25 [==============================] - 0s 5ms/step - loss: 1.9478 - accuracy: 0.9169 - val_loss: 2.1221 - val_accuracy: 0.9175 Epoch 184/250 25/25 [==============================] - 0s 5ms/step - loss: 1.5517 - accuracy: 0.9219 - val_loss: 0.8358 - val_accuracy: 0.9500 Epoch 185/250 25/25 [==============================] - 0s 7ms/step - loss: 1.7058 - accuracy: 0.9194 - val_loss: 4.4788 - val_accuracy: 0.8950 Epoch 186/250 25/25 [==============================] - 0s 6ms/step - loss: 2.5621 - accuracy: 0.9119 - val_loss: 2.2292 - val_accuracy: 0.9150 Epoch 187/250 25/25 [==============================] - 0s 10ms/step - loss: 1.5867 - accuracy: 0.9181 - val_loss: 0.9335 - val_accuracy: 0.9475 Epoch 188/250 25/25 [==============================] - 0s 7ms/step - loss: 1.4420 - accuracy: 0.9144 - val_loss: 1.1810 - val_accuracy: 0.9500 Epoch 189/250 25/25 [==============================] - 0s 7ms/step - loss: 1.3663 - accuracy: 0.9281 - val_loss: 0.7188 - val_accuracy: 0.9375 Epoch 190/250 25/25 [==============================] - 0s 7ms/step - loss: 2.5696 - accuracy: 0.9056 - val_loss: 1.4650 - val_accuracy: 0.9400 Epoch 191/250 25/25 [==============================] - 0s 7ms/step - loss: 3.2060 - accuracy: 0.8869 - val_loss: 1.3477 - val_accuracy: 0.9375 Epoch 192/250 25/25 [==============================] - 0s 5ms/step - loss: 2.2066 - accuracy: 0.9137 - val_loss: 2.2553 - val_accuracy: 0.9425 Epoch 193/250 25/25 [==============================] - 0s 7ms/step - loss: 1.5587 - accuracy: 0.9250 - val_loss: 1.4323 - val_accuracy: 0.9475 Epoch 194/250 25/25 [==============================] - 0s 7ms/step - loss: 0.9472 - accuracy: 0.9425 - val_loss: 1.3513 - val_accuracy: 0.9475 Epoch 195/250 25/25 [==============================] - 0s 8ms/step - loss: 1.2503 - accuracy: 0.9425 - val_loss: 0.8671 - val_accuracy: 0.9525 Epoch 196/250 25/25 [==============================] - 0s 7ms/step - loss: 0.8502 - accuracy: 0.9481 - val_loss: 0.4584 - val_accuracy: 0.9500 Epoch 197/250 25/25 [==============================] - 0s 8ms/step - loss: 1.2125 - accuracy: 0.9125 - val_loss: 0.6713 - val_accuracy: 0.9500 Epoch 198/250 25/25 [==============================] - 0s 6ms/step - loss: 3.0201 - accuracy: 0.9044 - val_loss: 3.1776 - val_accuracy: 0.8900 Epoch 199/250 25/25 [==============================] - 0s 6ms/step - loss: 2.1032 - accuracy: 0.8988 - val_loss: 1.3014 - val_accuracy: 0.9400 Epoch 200/250 25/25 [==============================] - 0s 6ms/step - loss: 1.2575 - accuracy: 0.9212 - val_loss: 1.9255 - val_accuracy: 0.9150 Epoch 201/250 25/25 [==============================] - 0s 7ms/step - loss: 1.4752 - accuracy: 0.9181 - val_loss: 1.1665 - val_accuracy: 0.9400 Epoch 202/250 25/25 [==============================] - 0s 6ms/step - loss: 1.2298 - accuracy: 0.9244 - val_loss: 2.0781 - val_accuracy: 0.9375 Epoch 203/250 25/25 [==============================] - 0s 6ms/step - loss: 1.3604 - accuracy: 0.9300 - val_loss: 2.5202 - val_accuracy: 0.8625 Epoch 204/250 25/25 [==============================] - 0s 6ms/step - loss: 1.3429 - accuracy: 0.9281 - val_loss: 1.5381 - val_accuracy: 0.9075 Epoch 205/250 25/25 [==============================] - 0s 6ms/step - loss: 1.4636 - accuracy: 0.9237 - val_loss: 1.0214 - val_accuracy: 0.9425 Epoch 206/250 25/25 [==============================] - 0s 7ms/step - loss: 1.1160 - accuracy: 0.9262 - val_loss: 1.1457 - val_accuracy: 0.9175 Epoch 207/250 25/25 [==============================] - 0s 7ms/step - loss: 1.5044 - accuracy: 0.9244 - val_loss: 4.2586 - val_accuracy: 0.8975 Epoch 208/250 25/25 [==============================] - 0s 8ms/step - loss: 5.5547 - accuracy: 0.8925 - val_loss: 0.8767 - val_accuracy: 0.9375 Epoch 209/250 25/25 [==============================] - 0s 6ms/step - loss: 1.7221 - accuracy: 0.9169 - val_loss: 0.8864 - val_accuracy: 0.9500 Epoch 210/250 25/25 [==============================] - 0s 7ms/step - loss: 1.4798 - accuracy: 0.9231 - val_loss: 0.6243 - val_accuracy: 0.9275 Epoch 211/250 25/25 [==============================] - 0s 7ms/step - loss: 1.2457 - accuracy: 0.9325 - val_loss: 0.7594 - val_accuracy: 0.9625 Epoch 212/250 25/25 [==============================] - 0s 6ms/step - loss: 0.9612 - accuracy: 0.9325 - val_loss: 2.2063 - val_accuracy: 0.9075 Epoch 213/250 25/25 [==============================] - 0s 6ms/step - loss: 1.4117 - accuracy: 0.9169 - val_loss: 3.2619 - val_accuracy: 0.8925 Epoch 214/250 25/25 [==============================] - 0s 7ms/step - loss: 1.9799 - accuracy: 0.9094 - val_loss: 3.2546 - val_accuracy: 0.9025 Epoch 215/250 25/25 [==============================] - 0s 6ms/step - loss: 1.4233 - accuracy: 0.9244 - val_loss: 1.1144 - val_accuracy: 0.9475 Epoch 216/250 25/25 [==============================] - 0s 6ms/step - loss: 1.2107 - accuracy: 0.9281 - val_loss: 0.9012 - val_accuracy: 0.9250 Epoch 217/250 25/25 [==============================] - 0s 6ms/step - loss: 1.0453 - accuracy: 0.9325 - val_loss: 1.4132 - val_accuracy: 0.9225 Epoch 218/250 25/25 [==============================] - 0s 6ms/step - loss: 1.4398 - accuracy: 0.9337 - val_loss: 1.3843 - val_accuracy: 0.9275 Epoch 219/250 25/25 [==============================] - 0s 6ms/step - loss: 1.1498 - accuracy: 0.9356 - val_loss: 1.5525 - val_accuracy: 0.9000 Epoch 220/250 25/25 [==============================] - 0s 5ms/step - loss: 1.2525 - accuracy: 0.9331 - val_loss: 0.9335 - val_accuracy: 0.9425 Epoch 221/250 25/25 [==============================] - 0s 6ms/step - loss: 1.6467 - accuracy: 0.9231 - val_loss: 2.1342 - val_accuracy: 0.9050 Epoch 222/250 25/25 [==============================] - 0s 5ms/step - loss: 1.2179 - accuracy: 0.9325 - val_loss: 1.6485 - val_accuracy: 0.9400 Epoch 223/250 25/25 [==============================] - 0s 5ms/step - loss: 0.9975 - accuracy: 0.9388 - val_loss: 0.5725 - val_accuracy: 0.9525 Epoch 224/250 25/25 [==============================] - 0s 5ms/step - loss: 1.9084 - accuracy: 0.9162 - val_loss: 1.7406 - val_accuracy: 0.8975 Epoch 225/250 25/25 [==============================] - 0s 5ms/step - loss: 1.1879 - accuracy: 0.9369 - val_loss: 1.6668 - val_accuracy: 0.9250 Epoch 226/250 25/25 [==============================] - 0s 5ms/step - loss: 1.5910 - accuracy: 0.9169 - val_loss: 2.4267 - val_accuracy: 0.9325 Epoch 227/250 25/25 [==============================] - 0s 5ms/step - loss: 1.4159 - accuracy: 0.9331 - val_loss: 0.8255 - val_accuracy: 0.9425 Epoch 228/250 25/25 [==============================] - 0s 5ms/step - loss: 1.1654 - accuracy: 0.9312 - val_loss: 1.9324 - val_accuracy: 0.9025 Epoch 229/250 25/25 [==============================] - 0s 5ms/step - loss: 1.3013 - accuracy: 0.9256 - val_loss: 1.1809 - val_accuracy: 0.9275 Epoch 230/250 25/25 [==============================] - 0s 5ms/step - loss: 1.2690 - accuracy: 0.9112 - val_loss: 1.6970 - val_accuracy: 0.9275 Epoch 231/250 25/25 [==============================] - 0s 5ms/step - loss: 1.6164 - accuracy: 0.9187 - val_loss: 2.0696 - val_accuracy: 0.8825 Epoch 232/250 25/25 [==============================] - 0s 5ms/step - loss: 1.7422 - accuracy: 0.9119 - val_loss: 1.1785 - val_accuracy: 0.9375 Epoch 233/250 25/25 [==============================] - 0s 7ms/step - loss: 1.3295 - accuracy: 0.9262 - val_loss: 1.4574 - val_accuracy: 0.9225 Epoch 234/250 25/25 [==============================] - 0s 7ms/step - loss: 1.2968 - accuracy: 0.9244 - val_loss: 0.7071 - val_accuracy: 0.9525 Epoch 235/250 25/25 [==============================] - 0s 7ms/step - loss: 0.8077 - accuracy: 0.9544 - val_loss: 1.2411 - val_accuracy: 0.9550 Epoch 236/250 25/25 [==============================] - 0s 7ms/step - loss: 0.7359 - accuracy: 0.9500 - val_loss: 0.5894 - val_accuracy: 0.9725 Epoch 237/250 25/25 [==============================] - 0s 7ms/step - loss: 1.2898 - accuracy: 0.9369 - val_loss: 1.9254 - val_accuracy: 0.9200 Epoch 238/250 25/25 [==============================] - 0s 5ms/step - loss: 1.4436 - accuracy: 0.9169 - val_loss: 2.8138 - val_accuracy: 0.8950 Epoch 239/250 25/25 [==============================] - 0s 5ms/step - loss: 2.2150 - accuracy: 0.9075 - val_loss: 1.7722 - val_accuracy: 0.9375 Epoch 240/250 25/25 [==============================] - 0s 8ms/step - loss: 1.1761 - accuracy: 0.9331 - val_loss: 0.7895 - val_accuracy: 0.9550 Epoch 241/250 25/25 [==============================] - 0s 7ms/step - loss: 0.8211 - accuracy: 0.9463 - val_loss: 1.0835 - val_accuracy: 0.9275 Epoch 242/250 25/25 [==============================] - 0s 6ms/step - loss: 1.1888 - accuracy: 0.9413 - val_loss: 1.3475 - val_accuracy: 0.9450 Epoch 243/250 25/25 [==============================] - 0s 5ms/step - loss: 1.5923 - accuracy: 0.9244 - val_loss: 1.4853 - val_accuracy: 0.9250 Epoch 244/250 25/25 [==============================] - 0s 5ms/step - loss: 2.4932 - accuracy: 0.9025 - val_loss: 1.5808 - val_accuracy: 0.9350 Epoch 245/250 25/25 [==============================] - 0s 5ms/step - loss: 1.9749 - accuracy: 0.9169 - val_loss: 3.0844 - val_accuracy: 0.8950 Epoch 246/250 25/25 [==============================] - 0s 6ms/step - loss: 1.6275 - accuracy: 0.9056 - val_loss: 3.1178 - val_accuracy: 0.9125 Epoch 247/250 25/25 [==============================] - 0s 5ms/step - loss: 1.5185 - accuracy: 0.9200 - val_loss: 0.9243 - val_accuracy: 0.9275 Epoch 248/250 25/25 [==============================] - 0s 5ms/step - loss: 1.5978 - accuracy: 0.9244 - val_loss: 1.6381 - val_accuracy: 0.8975 Epoch 249/250 25/25 [==============================] - 0s 6ms/step - loss: 1.0338 - accuracy: 0.9388 - val_loss: 1.0314 - val_accuracy: 0.9575 Epoch 250/250 25/25 [==============================] - 0s 6ms/step - loss: 0.7860 - accuracy: 0.9544 - val_loss: 0.6010 - val_accuracy: 0.9375
history = pd.DataFrame(model_history.history)
plt.figure(figsize=(18,8))
a1 = plt.subplot2grid((1,2),(0,0))
a1.plot(history['accuracy'], label='Accuracy')
a1.set_title('Accuracy')
a2 = plt.subplot2grid((1,2),(0,1))
a2.plot(history['loss'], label='Loss')
a2.set_title('Loss')
plt.savefig("V5_Full_Accuracy.png")
plt.savefig("V5_Full_loss.png")
plt.show()
y_pred = model.predict(X_test)
y_pred.shape, y_test.shape
((500, 1), (500,))
y_pred = np.where(y_pred>0.5, 1, 0)
print(f'Accuracy Score: {accuracy_score(y_test, y_pred)*100:.03f}%')
print(f'Precision Score: {precision_score(y_test, y_pred)*100:.03f}%')
print(f'Recall Score: {recall_score(y_test, y_pred)*100:.03f}%')
Accuracy Score: 93.000% Precision Score: 95.418% Recall Score: 95.161%
print(classification_report(y_test, y_pred))
precision recall f1-score support
0 0.86 0.87 0.86 128
1 0.95 0.95 0.95 372
accuracy 0.93 500
macro avg 0.91 0.91 0.91 500
weighted avg 0.93 0.93 0.93 500
cf_matrix = confusion_matrix(y_test, y_pred)
ax = sns.heatmap(cf_matrix, annot=True, cmap='Greens')
ax.set_title(' Confusion Matrix \n\n');
ax.set_xlabel('\nPredicted Values')
ax.set_ylabel('Actual Values ');
plt.savefig("cf_matrix (MLP).png")
plt.plot(model_history.history['accuracy'] )
plt.plot(model_history.history['val_accuracy'])
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.rcParams['figure.dpi'] = 1000
plt.show()
plt.plot(model_history.history['loss'] )
plt.plot(model_history.history['val_loss'] )
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.rcParams['figure.dpi'] = 1000
plt.show()